package com.yunxin.core.customer.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunxin.core.admin.domain.AdminUser;
import com.yunxin.core.admin.treeUtil.AdminOptionDTO;
import com.yunxin.core.application.dto.user.SysUser;
import com.yunxin.core.customer.domain.CustomerInfoDetail;
import com.yunxin.core.customer.domain.CustomerMatchingProduct;
import com.yunxin.core.customer.domain.TagInfo;
import com.yunxin.core.wechat.domain.WechatTagInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class CustomerSalesmanInfoVo {

    @Schema(description = "客户id")
    private Integer customerId;

    @Schema(description = "姓名")
    private String name;

    @Schema(description = "产品id")
    private Long productId;

    @Schema(description = "产品名称")
    private String productName;

    @Schema(description = "微信昵称")
    private String wechatName;

    @Schema(description = "客户编号")
    private String customerNo;

    @Schema(description = "企微标签id ")
    private Long wechatInfoId;

    @Schema(description ="企微客户id")
    private Integer wechatCustomerId;

    @Schema(description = "客户标签")
    private List<AdminOptionDTO<Long>> tagInfoId;

    @Schema(description = "企微客户标签")
    private List<WechatTagInfo> weChatTagInfo;

    @Schema(description = "手机号")
    private String phone;

    @Schema(description = "业务员外呼进度 0未外呼 1已外呼")
    private Integer salesmanStatus;

    @Schema(description = "话务员跟进进度 0未跟进 11不需要 12秒挂 13非本人申请 14点着玩 21空号 22停机 3已添加 -11通话中 -12拒接 -13响铃挂 -14用户忙")
    private Integer telephonerStatus;

    @Schema(description = "客户评分")
    private Integer grade;

    @Schema(description = "是否添加微信 0未添加 1已添加")
    private Integer isWechat;

    @Schema(description = "微信添加时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date wechatAddTime;

    @Schema(description = "业务员id")
    private Integer salesmanId;

    @Schema(description = "业务员名称")
    private String salesmanName;

    @Schema(description = "话务员id")
    private Integer telephoneId;

    @Schema(description = "话务员名称")
    private String telephoneName;

    @Schema(description = "团队id")
    private Integer teamId;

    @Schema(description = "团队名称")
    private String teamName;

    @Schema(description = "客户详情")
    private CustomerInfoDetail customerInfoDetail;

    @Schema(description = "分配产品情况")
    private List<CustomerMatchingProduct> customerMatchingProducts;

    @Schema(description = "业务员客户来源类型（个人 客服）")
    private String salesmanSourceType;

    @Schema(description = "成单时间")
    private Date createOrderTime;

//    @Schema(description = "标签名字")
//    private String tagNames;

    @Schema(description = "系统标签集合")
    private List<String> sysTags;

    @Schema(description = "企微标签集合")
    private List<String> wechatTags;

    @Schema(description = "业务员跟进进度 0未跟进 1已跟进")
    private Integer followStatus;

    @Schema(description = "成单时间")
    private Date makeOrderTime;

    @Schema(description = "产品对接方式 1.自营 2.h5 3.API 4.企业微信 5微信公众号 6cps")
    private Integer abutmentType;
}
